
(async () => {

  const setCORS = require('./middlewares/setCORS')
  const connect = require('./db/connect')
  const express = require('express')
  const loginRouter = require('./routers/loginRouter')
  const userRouter = require('./routers/userRouter')
  const { PORT } = require('./utils/contants')
  const verifyToken = require('./middlewares/verifyToken')

  // 连接数据库
  await connect()
  // 创建应用
  const app = express()

  // 使用自定义的CORS中间件 => 解决ajax跨域问题
  app.use(setCORS)
  // 使用内置的静态资源的中间件 => 将public下的资源部署到项目根路径下
  app.use(express.static(__dirname + '/public'))
  // 使用内置的解析2种请求体参数的中间件
  app.use(express.json())
  app.use(express.urlencoded({extended: false}))
  // 使用上路由器中间件 => 注册路由器
  app.use('/admin', loginRouter)
  app.use('/admin', verifyToken, userRouter)

  // 启动应用服务
  app.listen(PORT, () => {
    console.log(`服务启动成功: http://localhost:${PORT}`)
  })
})()